//TODO Insert en Edit een gezamelijke view van maken?
Ext.define('ProjectAON.view.lerarenBeheren.Insert', {
    extend:'Ext.window.Window',
    alias:'widget.useradd',
    title:'Toevoegen',
    layout:'fit',
    //require:'Ext.form.*',
    autoShow:true,
    width: 290,

    initComponent:function () {
        this.items = [
            {
                defaults:{
                    allowBlank:false,
                    msgTarget:'side'
                },

                xtype:'form',
                items:[
                    {
                        xtype:'textfield',
                        id:'naam',
                        name:'naam',
                        vtype:'alphatext',
                        fieldLabel:'Naam'
                    },
                    {
                        xtype:'textfield',
                        id:'adres',
                        name:'adres',
                        vtype:'address',
                        fieldLabel:'Adres'
                    },
                    {
                        xtype:'textfield',
                        id:'postcode',
                        name:'postcode',
                        vtype:'postalcode',
                        fieldLabel:'Postcode'
                    },
                    {
                        xtype:'textfield',
                        id:'gemeente',
                        name:'gemeente',
                        vtype:'alphatext',
                        fieldLabel:'Gemeente'
                    },
                    {
                        xtype:'combo',
                        fieldLabel:'Land',
                        itemId:'land',
                        id:'land',
                        name:'land',
                        valueField: 'naam',
                        displayField: 'naam'
                    },
                    {
                        xtype:'textfield',
                        id:'telefoon',
                        name:'telefoon',
                        vtype:'telephone',
                        fieldLabel:'Telefoon'
                    },
                    {
                        xtype:'combo',
                        fieldLabel:'Functie 1',
                        itemId:'fu1',
                        id:'functieID1',
                        name:'functieID1',
                        valueField: 'id',
                        displayField: 'naam'
                    },
                    {
                        xtype:'combo',
                        fieldLabel:'Functie 2',
                        itemId:'fu2',
                        id:'functieID2',
                        name:'functieID2',
                        valueField: 'id',
                        displayField: 'naam'
                    },
                    {
                        xtype:'combo',
                        fieldLabel:'Functie 3',
                        itemId:'fu3',
                        id:'functieID3',
                        name:'functieID3',
                        valueField: 'id',
                        displayField: 'naam'
                    },
                    {
                        xtype:'combo',
                        fieldLabel:'Functie 4',
                        itemId:'fu4',
                        id:'functieID4',
                        name:'functieID4',
                        valueField: 'id',
                        displayField: 'naam'
                    }
                    /*{
                        xtype:'textfield',
                        id:'functieID1',
                        name:'functieID1',
                        vtype:'functionid',
                        fieldLabel:'Functie 1'
                    },
                    {
                        xtype:'textfield',
                        id:'functieID2',
                        name:'functieID2',
                        vtype:'functionid',
                        fieldLabel:'Functie 2'
                    },
                    {
                        xtype:'textfield',
                        id:'functieID3',
                        name:'functieID3',
                        vtype:'functionid',
                        fieldLabel:'Functie 3'
                    },
                    {
                        xtype:'textfield',
                        id:'functieID4',
                        name:'functieID4',
                        vtype:'functionid',
                        fieldLabel:'Functie 4'
                    }*/
                ],

                buttons:[
                    {
                        text:'Opslaan',
                        formBind:true,
                        action:'save'
                    },
                    {
                        text:'Annuleer',
                        scope:this,
                        action:'close',
                        handler:this.close
                    }
                ]
            }
        ];

        this.callParent(arguments);
    }
});

Ext.onReady(function() {

    //TODO Regexen goed uitwerken, geeft ook nog FIELD IS REQUIRED -> Nederlands
    var alphatextRegex = /^[a-zA-Z ]*$/;
    var addressRegex = /^([a-zA-Z0-9 -éëäèöüï]*)*$/;
    var postalRegex = /^[0-9a-zA-Z ]{4,}$/;
    var telephoneRegex = /^[0-9]{8,}$/;

    Ext.apply(Ext.form.field.VTypes, {

        alphatext: function(val) {
            return alphatextRegex.test(val);
        },
        alphatextText: 'Gelieve een geldige waarde ingeven',

        address: function(val) {
            return addressRegex.test(val);
        },
        addressText: 'Gelieve een geldig adres in te geven',

        postalcode: function(val) {
            return postalRegex.test(val);
        },
        postalcodeText: 'Gelieve een geldige postocde in te geven',

        telephone: function(val) {
            return telephoneRegex.test(val);
        },
        telephoneText: 'Gelieve een geldig telefoonnummer in te geven'
    });
});